﻿using ProveedorPagosREST.Dominio;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;

namespace ProveedorPagosREST.Persistencia
{
    public class TcambioDAO
    {
        public Tcambio Crear(Tcambio tcambioACrear)
        {
            Tcambio tcambioCreado = null;
            string sql = "INSERT INTO TB_TCAMBIO values(@MONEDAO,@MONEDAD,@CAMBIO,@OPERACION)";
            using (SqlConnection con = new SqlConnection(ConexionUtil.ObtenerCadena()))
            {
                con.Open();
                using (SqlCommand com = new SqlCommand(sql, con))
                {
                    com.Parameters.Add(new SqlParameter("@MONEDAO", tcambioACrear.MONEDAO));
                    com.Parameters.Add(new SqlParameter("@MONEDAD", tcambioACrear.MONEDAD));
                    com.Parameters.Add(new SqlParameter("@SALDO", tcambioACrear.CAMBIO));
                    com.Parameters.Add(new SqlParameter("@CAMBIO", tcambioACrear.OPERACION));
                    com.ExecuteNonQuery();
                }
            }
            tcambioCreado = Obtener(tcambioACrear.MONEDAO,tcambioACrear.MONEDAD);
            return tcambioCreado;
        }

        public Tcambio Obtener(string monedaorigen,string monedadestino)
        {
            Tcambio tcambioEncontrado = null;
            string sql = "SELECT * FROM TB_TCAMBIO WHERE MONEDAO=@MONEDAO AND MONEDAD=@MONEDAD";
            using (SqlConnection con = new SqlConnection(ConexionUtil.ObtenerCadena()))
            {
                con.Open();
                using (SqlCommand com = new SqlCommand(sql, con))
                {
                    com.Parameters.Add(new SqlParameter("@MONEDAO", monedaorigen));
                    com.Parameters.Add(new SqlParameter("@MONEDAD", monedadestino));
                    using (SqlDataReader resultado = com.ExecuteReader())
                    {
                        if (resultado.Read())
                        {
                            tcambioEncontrado = new Tcambio()
                            {
                                MONEDAO = (string)resultado["MONEDAO"], 
	                            MONEDAD = (string)resultado["MONEDAD"], 
	                            CAMBIO = (Decimal)resultado["CAMBIO"], 
	                            OPERACION = (string)resultado["OPERACION"]

                            };
                        }
                    }
                }
            }
            return tcambioEncontrado;
        }
        public Tcambio Modificar(Tcambio tcambioModificar)
        {
            //TODO
            return null;
        }
        public void Eliminar(Tarjetas tcambioEliminar)
        {
            //TODO

        }
        public List<Tcambio> ListarTodos()
        {
            //TODO
            return null;
        }
    }
}